package com.groupe_A.metier;

import java.util.List;

/**
 * @author mohssine
 * @version 1.0
 * @created 30-avr.-2013 14:44:56
 */
public class Classe  {

	private Long idClasse;
	private String codeClasse;
	private String libelle;
	public List<Etudiant> etudiants;
	public List<Module> modules;


	
	public Classe(){

	}
	
	public Classe(String codeClasse, String libelle) {
		this.codeClasse = codeClasse;
		this.libelle = libelle;
	}

	public void addModule(Module module){
		modules.add(module);
	}
	public void removeModule(Module module){
		modules.remove(module);
	}
	public void addEtudiant(Etudiant etudiant){
		etudiants.add(etudiant);
	}
	public void removeEtudiant(Etudiant etudiant){
		etudiants.remove(etudiant);
	}
	public String getCodeClasse() {
		return codeClasse;
	}

	public void setCodeClasse(String codeClasse) {
		this.codeClasse = codeClasse;
	}

	public String getLibelle() {
		return libelle;
	}

	public void setLibelle(String libelle) {
		this.libelle = libelle;
	}



	public List<Etudiant> getEtudiants() {
		return etudiants;
	}

	public void setEtudiants(List<Etudiant> etudiants) {
		this.etudiants = etudiants;
	}

	public List<Module> getModules() {
		return modules;
	}

	public void setModules(List<Module> modules) {
		this.modules = modules;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((codeClasse == null) ? 0 : codeClasse.hashCode());
		result = prime * result
				+ ((etudiants == null) ? 0 : etudiants.hashCode());
		result = prime * result
				+ ((idClasse == null) ? 0 : idClasse.hashCode());
		result = prime * result + ((libelle == null) ? 0 : libelle.hashCode());
		result = prime * result + ((modules == null) ? 0 : modules.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Classe other = (Classe) obj;
		if (codeClasse == null) {
			if (other.codeClasse != null)
				return false;
		} else if (!codeClasse.equals(other.codeClasse))
			return false;
		if (etudiants == null) {
			if (other.etudiants != null)
				return false;
		} else if (!etudiants.equals(other.etudiants))
			return false;
		if (idClasse == null) {
			if (other.idClasse != null)
				return false;
		} else if (!idClasse.equals(other.idClasse))
			return false;
		if (libelle == null) {
			if (other.libelle != null)
				return false;
		} else if (!libelle.equals(other.libelle))
			return false;
		if (modules == null) {
			if (other.modules != null)
				return false;
		} else if (!modules.equals(other.modules))
			return false;
		return true;
	}


	public String toString() {
		return "Classe [idClasse=" + idClasse + ", codeClasse=" + codeClasse
				+ ", libelle=" + libelle + ", etudiants=" + etudiants
				+ ", modules=" + modules + "]";
	}


}